package com.rybbaby.tss.core.verifier;

/**
 * @description 手机号验证器
 * 
 * @author 谢进伟
 * 
 * @createDate 2016年3月31日 下午2:37:46
 */
public class PhoneVerifier extends AbstractVerifier {
	
	private static final String REGEX = "^(?:(1\\-?)|(\\+1 ?))?\\(?(\\d{3})[\\)\\-\\.]?(\\d{3})[\\-\\.]?(\\d{4})$";
	
	/**
	 * 是否允许为空值
	 * 
	 * @return
	 */
	public boolean nullable = true;
	
	/**
	 * 获取 是否允许为空值
	 * 
	 * @return 是否允许为空值
	 */
	public boolean isNullable() {
		return this.nullable;
	}
	
	/**
	 * 设置 是否允许为空值
	 * 
	 * @param nullable
	 *            是否允许为空值
	 */
	public void setNullable(boolean nullable) {
		this.nullable = nullable;
	}
	
	@Override
	public boolean validate(Object params) {
		return validate(params , nullable , REGEX);
	}
}
